Autogenerated HTML docs for v1.8.1.1-439-g50a6b
diff --git a/git-cvsserver.html b/git-cvsserver.html index 2e6e587..053e558 100644 --- a/git-cvsserver.html +++ b/git-cvsserver.html
@@ -1234,8 +1234,41 @@ <h2 id="_operations_supported">Operations supported</h2> <div class="sectionbody"> <div class="paragraph"><p>All the operations required for normal use are supported, including -checkout, diff, status, update, log, add, remove, commit. -Legacy monitoring operations are not supported (edit, watch and related). +checkout, diff, status, update, log, add, remove, commit.</p></div> +<div class="paragraph"><p>Most CVS command arguments that read CVS tags or revision numbers +(typically -r) work, and also support any git refspec +(tag, branch, commit ID, etc). +However, CVS revision numbers for non-default branches are not well +emulated, and cvs log does not show tags or branches at +all. (Non-main-branch CVS revision numbers superficially resemble CVS +revision numbers, but they actually encode a git commit ID directly, +rather than represent the number of revisions since the branch point.)</p></div> +<div class="paragraph"><p>Note that there are two ways to checkout a particular branch. +As described elsewhere on this page, the "module" parameter +of cvs checkout is interpreted as a branch name, and it becomes +the main branch. It remains the main branch for a given sandbox +even if you temporarily make another branch sticky with +cvs update -r. Alternatively, the -r argument can indicate +some other branch to actually checkout, even though the module +is still the "main" branch. Tradeoffs (as currently +implemented): Each new "module" creates a new database on disk with +a history for the given module, and after the database is created, +operations against that main branch are fast. Or alternatively, +-r doesn’t take any extra disk space, but may be significantly slower for +many operations, like cvs update.</p></div> +<div class="paragraph"><p>If you want to refer to a git refspec that has characters that are +not allowed by CVS, you have two options. First, it may just work +to supply the git refspec directly to the appropriate CVS -r argument; +some CVS clients don’t seem to do much sanity checking of the argument. +Second, if that fails, you can use a special character escape mechanism +that only uses characters that are valid in CVS tags. A sequence +of 4 or 5 characters of the form (underscore (<code>"_"</code>), dash (<code>"-"</code>), +one or two characters, and dash (<code>"-"</code>)) can encode various characters based +on the one or two letters: <code>"s"</code> for slash (<code>"/"</code>), <code>"p"</code> for +period (<code>"."</code>), <code>"u"</code> for underscore (<code>"_"</code>), or two hexadecimal digits +for any byte value at all (typically an ASCII number, or perhaps a part +of a UTF-8 encoded character).</p></div> +<div class="paragraph"><p>Legacy monitoring operations are not supported (edit, watch and related). Exports and tagging (tags and branches) are not supported at this stage.</p></div> <div class="sect2"> <h3 id="_crlf_line_ending_conversions">CRLF Line Ending Conversions</h3> @@ -1276,7 +1309,7 @@ <div id="footnotes"><hr /></div> <div id="footer"> <div id="footer-text"> -Last updated 2012-05-02 15:00:44 PDT +Last updated 2013-01-25 13:32:06 PST </div> </div> </body>